package com.ruoyi.project.rest.order.service;

import java.util.List;

import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.project.rest.order.domain.OrderPay;
import com.ruoyi.project.rest.order.domain.RestOrder;
import com.ruoyi.project.rest.order.domain.RestOrderDto;
import com.ruoyi.project.rest.statistics.domain.RestStatisticsData;
import org.apache.ibatis.annotations.Param;

/**
 * 订单Service接口
 * 
 * @author ruoyi
 * @date 2022-03-28
 */
public interface IRestOrderService 
{
    /**
     * 查询订单
     * 
     * @param orderNo 订单主键
     * @return 订单
     */
    public RestOrder selectRestOrderByOrderNo(String orderNo);

    /**
     * 查询订单列表
     * 
     * @param restOrder 订单
     * @return 订单集合
     */
    public List<RestOrder> selectRestOrderList(RestOrder restOrder);

    /**
     * 新增订单
     * 
     * @param restOrder 订单
     * @return 结果
     */
    public int insertRestOrder(RestOrderDto restOrder);

    /**
     * 修改订单
     * 
     * @param restOrder 订单
     * @return 结果
     */
    public int updateRestOrder(RestOrder restOrder);

    /**
     * 批量删除订单
     * 
     * @param orderNos 需要删除的订单主键集合
     * @return 结果
     */
    public int deleteRestOrderByOrderNos(String orderNos);

    /**
     * 删除订单信息
     * 
     * @param orderNo 订单主键
     * @return 结果
     */
    public int deleteRestOrderByOrderNo(String orderNo);

    public int save(RestOrderDto restOrderDto);

    AjaxResult orderPay(OrderPay orderPay);

    List<RestStatisticsData> selectStatisticsQuery(String startTime,String endTime);
}
